package com.neteast.androidclient.contact.util;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.CRC32;
import java.util.zip.CheckedOutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;

import android.content.Context;
import android.os.Environment;

public class FileUtil {
	
	public static String saveJsontoFile(Context context,String fileName,String content) throws IOException {
		String dir = createDir(context);
		File file=new File(dir, fileName+".zip");
		file.getParentFile().mkdirs();
		if (file.exists()) {
			file.delete();
		}
		file.createNewFile();
		FileOutputStream fos=new FileOutputStream(file);
		CheckedOutputStream cos=new CheckedOutputStream(fos, new CRC32());
		ZipOutputStream zos=new ZipOutputStream(cos);
		zos.putNextEntry(new ZipEntry(fileName+".txt"));
		zos.write(content.getBytes());
		zos.close();
		return file.getAbsolutePath();
	}
	
	/**
	 * 为照片生成文件 文件以联系人的id为名，若存在同名的文件，则删除老的
	 * @param context
	 * @param _id
	 * @return
	 * @throws IOException
	 */
	public static File createPhotoFile(Context context,String _id) throws IOException {
		String dir = createDir(context);
		File file=new File(dir, "photo/"+_id+".png");
		file.getParentFile().mkdirs();
		if (file.exists()) {
			file.delete();
		}
		file.createNewFile();
		return file;
	}
	/**
	 * 得到存储文件的文件夹
	 * @param context
	 * @return
	 */
	public static String createDir(Context context) {
		String dir=null;
		if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
			dir=Environment.getExternalStorageDirectory().getAbsolutePath();
		}else {
			dir=context.getFilesDir().toString();
		}
		return dir;
	}
}
